<?php
class class_pagares {
	private $_db; 
	function __construct(){
		$this->config();
	}
	function method_getPagares($params, $error){
		$this->_db->setQuery("SELECT cod_turno FROM os_contado WHERE pagares = 'S'");
		$this->_db->alter();
		if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
		$regs = $this->_db->loadResult();
		$i=0;
		$regs2 = array();
		FOREACH ($regs as $reg){
			if ($params[0]->mostrar == "1"){
				$filtro = " AND pagares.fecha_vencimiento < CURDATE()";
			}
			else if($params[0]->mostrar == "2"){
				$filtro = " AND pagares.fecha_vencimiento < ADDDATE(CURDATE(),30)";
			}
			if ($params[0]->pacienteFiltrarPor == 'D'){
    			$filtro .= " AND pacientes.dni_paciente LIKE '%" . $params[0]->pacienteBuscar. "%'";
			}
    		else{
    			$filtro .= " AND CONCAT(pacientes.apellido,', ',pacientes.nombres) LIKE '%" . $params[0]->pacienteBuscar . "%'";
    		}
			$this->_db->setQuery("SELECT pagares.*, DATE_FORMAT(pagares.fecha_vencimiento,'%d/%m/%Y') AS fecha_vencimiento, CONCAT(prestaciones_rubros.descripcion,' ', prestaciones.descripcion) AS prestacion,
									CONCAT(pacientes.apellido,', ',pacientes.nombres) AS nombre,
									pacientes.dni_paciente,
									DATE_FORMAT(turnos.fecha_asignada,'%d/%m/%Y') AS dia,
									usuarios.usuario
									FROM pagares
									LEFT JOIN turnos ON turnos.cod_turno = pagares.cod_turno
									LEFT JOIN os_contado ON os_contado.cod_turno = pagares.cod_turno
									LEFT JOIN nomenclador ON os_contado.cod_nomenclador = nomenclador.cod_nomenclador
									LEFT JOIN prestaciones ON nomenclador.cod_prestacion = prestaciones.cod_prestacion
									LEFT JOIN prestaciones_rubros ON prestaciones_rubros.cod_prestacion_rubro = prestaciones.cod_prestacion_rubro
									LEFT JOIN pacientes ON pacientes.dni_paciente = turnos.dni_paciente
									LEFT JOIN usuarios ON usuarios.dni_usuario = pagares.dni_usuario
									WHERE pagares.cod_turno = ".$reg->cod_turno."
									AND pagares.estado = 'D'
									".$filtro);
			$this->_db->alter();
			if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
			
			array_push($regs2, $this->_db->loadResult());
		}
		$row = array();
		$result = "";
		$result->values = array();
    	FOREACH ($regs2 as $rows){
    		FOREACH ($rows as $reg){
    			array_push($row, $reg->cod_pagare);
    			array_push($row, $reg->dni_paciente);
				array_push($row, $reg->nombre);
				array_push($row, $reg->prestacion);
				array_push($row, $reg->dia);
				array_push($row, $reg->fecha_vencimiento);
				array_push($row, $reg->importe);
				if($reg->estado == "D"){
					$estado = "No";
				}
				else if($reg->estado == "P"){
					$estado = "Si";
				}
				array_push($row, $estado);
				array_push($row, $reg->usuario);
				array_push($result->values, $row);
				$row = array();
    		}					
		}			
		return $result;
	}
	function method_CobrarPagare($params, $error){
		$this->_db->setQuery("UPDATE pagares SET estado = 'P', dni_usuario ='".$_SESSION['dni_usuario']."', fecha_cobro = NOW() WHERE cod_pagare=".$params[0]->cod_pagare."  LIMIT 1");
		$this->_db->alter();
		if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
		return true;
    }
	
	private function config(){
		require_once("conexion.php");
		$this->_db = new DataBase($SERVIDOR,$USUARIO,$PASSWORD,$BASE);
		mysql_query("SET NAMES utf8");
	}
	
}
?>